Viterbi decoding is a technique that is widely used to decode received information in modern digital communication systems. Prior to being received this information has been transmitted by a transmitter. Typically, a transmitter will include an interleaver designed to interleave bits of a signal prior to transmission in order to minimize the effect of burst errors which the signal may be subject to while traversing a channel between the transmitter and a receiver. In addition, a transmitter typically includes a mapper, which is designed to map the so-interleaved bits to so-called constellation symbols prior to transmission through the channel. Unfortunately, the combination of interleaving and then mapping at the transmitter makes it very difficult to de-interleave and de-map the signal at a receiver in order to take advantage of the benefits of Viterbi decoding, especially when the received signal suffers from distortion and/or noise.